package com.google.gwt.sample.dynatablerf.server;

import com.google.gwt.sample.dynatablerf.server.business.ControladorProduto;
import com.google.gwt.sample.dynatablerf.server.domain.Produto;

public class ProdutoLocator extends AbstractEntityLocator<Produto, Long> {

	private ControladorProduto controller;

	public ProdutoLocator() {

		super();
		this.controller = getContext().getBean(ControladorProduto.class);
	}

	@Override
	public Produto create(Class<? extends Produto> clazz) {
		return new Produto();
	}

	@Override
	public Produto find(Class<? extends Produto> clazz, Long id) {
		return controller.findById(id);
	}

	@Override
	public Class<Produto> getDomainType() {
		return Produto.class;
	}

	@Override
	public Long getId(Produto domainObject) {
		return domainObject.getId();
	}

	@Override
	public Class<Long> getIdType() {
		return Long.class;
	}

	@Override
	public Object getVersion(Produto domainObject) {
		return domainObject.getVersion();
	}

}
